package com.s7.pull.internal;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.s7.pull.LoadingView;
import com.s7.pull.R;
import com.s7.pull.api.InternalAbstract;
import com.s7.pull.api.RefreshInternal;

/**
 * 经典组件
 */
@SuppressWarnings({"unused", "UnusedReturnValue"})
public abstract class InternalClassics<T extends InternalClassics> extends InternalAbstract
        implements RefreshInternal {

    public static final int ID_TEXT_TITLE = R.id.pull_tips;
    public static final int ID_IMAGE_ARROW = R.id.pull_arrow;
    public static final int ID_IMAGE_PROGRESS = R.id.pull_progress;

    protected TextView mTitleText;
    protected ImageView mArrowView;
    protected LoadingView mProgressView;

    protected PaintDrawable mArrowDrawable;

    protected boolean mSetAccentColor;
    protected boolean mSetPrimaryColor;

    protected int mBackgroundColor;
    protected int mFinishDuration = 500;
    protected int mPaddingTop = 20;
    protected int mPaddingBottom = 20;
    protected int mMinHeightOfContent = 0;

    protected InternalClassics(@NonNull View wrapped) {
        super(wrapped);
    }

    protected InternalClassics(@NonNull View wrappedView, @Nullable RefreshInternal wrappedInternal) {
        super(wrappedView, wrappedInternal);
    }

    protected InternalClassics(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
}
